import java.util.ArrayList;

public class Selflearn_22 {
    //practice Arraylist(methods from "List")
    public static void main(String[] args){
        ArrayList<Integer> list=new ArrayList<>();
        for(int i=0;i<10;i++){
            list.add(i+1);
        }
        System.out.println(list);//1
        Integer a= list.get(3);
        System.out.println(a);//2
        list.set(3,444);
        System.out.println(list);//3
        list.add(5,666);
        ArrayList<Integer> list1=new ArrayList<>();
        list1.add(1000);
        list1.add(2000);
        list1.add(3000);
        list.addAll(0,list1);
        System.out.println(list);//4
        list1.set(1,20000);
        System.out.println(list);//5。旨在检查这个addAll是用的内存指针还是真的添加了
        list.add(3000);
        System.out.println(list.indexOf(3000)+"  "+list.lastIndexOf(3000));
        //6
//        ArrayList<Integer> list2=list1.subList(0,1);//报错
//        System.out.println(list2);//7
//现阶段尽量少用sublist，一是被赋值的arraylist与原来的共享同一个内存
//二是类型转换（List→Arraylist）也容易出问题和麻烦。
    }
}
